The need for ASP.NET Core: Why did Microsoft create a new framework?

ASP.NET Core की आवश्यकता: क्यों माइक्रोसॉफ्ट ने एक नया फ्रेमवर्क बनाया?

आपके मन में यह आ रहा होगा कि माइक्रोसॉफ्ट के पास ऑलरेडी ASP.NET का एक फ्रेमवर्क उपलब्ध था, तो आखिर उसने क्यों .NET Core वेब फ्रेमवर्क को मार्केट में लाया? चलिए इस लेख में हम इस बात को समझने की कोशिश करते हैं।

माइक्रोसॉफ्ट ने ASP.NET वेब फ्रेमवर्क को 2002 में सबसे पहले रिलीज़ किया था। अपने समय में यह वेब फ्रेमवर्क बहुत ही ज्यादा प्रचलित हुआ, लेकिन समय के साथ-साथ माइक्रोसॉफ्ट ने महसूस किया कि इस वेब फ्रेमवर्क के भीतर कई सारी खामियां हैं।

इसकी सबसे बड़ी खामी यह थी कि जब एप्लीकेशन बनता था तो यह बहुत ही ज्यादा हैवी हो जाता था। उसके भीतर स्टेट को मैनेज करने के लिए जो मॉडल डेवलप किया गया था वह बहुत ही जटिल था और इसके कारण एप्लीकेशन का टेस्टिंग करना भी बहुत कठिन कार्य था। अभिप्राय यह है कि एप्लीकेशन को डेवलप करना और मेंटेन करना दोनों ही ज्यादा खर्चीला और अधिक समय लेने वाला था।

इन सब बातों को ध्यान में रखते हुए माइक्रोसॉफ्ट ने 2009 में ASP.NET MVC वेब फ्रेमवर्क को रिलीज़ किया जो कि मॉडल-व्यू-कंट्रोलर (MVC) पैटर्न पर आधारित है। यह पैटर्न दूसरे भी वेब फ्रेमवर्क जैसे जैंगो, जावा स्प्रिंग, रूबी ऑन रेल्स इत्यादि में उपयोग किया जा रहा था।

यद्यपि माइक्रोसॉफ्ट ने अपने वेब एप्लीकेशन के आर्किटेक्चर को MVC आधारित करके थोड़ी बहुत सफलता पाई, लेकिन अभी भी उसका फ्रेमवर्क मुख्य रूप से System.Web.dll फाइल पर आधारित था, जो कि अपने आप में एक बहुत ही बड़ा DLL है।

ध्यान दीजिए कि माइक्रोसॉफ्ट का ASP.NET MVC फ्रेमवर्क केवल विंडोज प्लेटफॉर्म पर ही उपयोग किया जा सकता था।

सबसे बड़ी बात यह है कि System.Web.dll बहुत ही बड़ा DLL है और इसमें थोड़ा सा भी चेंज करने पर बहुत सारा कपलिंग (coupling) का प्रॉब्लम शुरू हो जाता है। अतः उसमें परिवर्तन करना कठिन कार्य है। और आज के जमाने में वेब डेवलपर ऐसी फ्रेमवर्क को ढूंढते हैं जो ओपन सोर्स हो और प्लेटफॉर्म-स्वतंत्र हो। इन सब बातों को ध्यान में रखते हुए माइक्रोसॉफ्ट ने ASP.NET Core नामक वेब फ्रेमवर्क को मार्केट में रिलीज़ किया। ASP.NET Core को रिलीज़ करने के पीछे माइक्रोसॉफ्ट के कई सारे लक्ष्य थे:

  • क्रॉस-प्लेटफॉर्म एप्लीकेशन को डेवलप करना।
  • मॉड्यूलर आर्किटेक्चर का उपयोग करके ऐसा एप्लीकेशन डेवलप करना जो मेंटेनेबल हो।
  • ओपन सोर्स सॉफ्टवेयर को बनाना ताकि दूसरे लोगों की मदद से उसमें परिवर्तन किया जा सके, जो कि मार्केट में उभरता हुआ ट्रेंड भी है।
  • साथ ही साथ क्लाउड एनवायरनमेंट को मन में रखकर फ्रेमवर्क को डेवलप करना।

टिप्पणियाँ

इस ब्लॉग से लोकप्रिय पोस्ट

Differences between in-process and out-of-process hosting models

Web Fundamental Concepts in Hindi for Beginners - FAQs with their Answers Part-1

Introduction to ASP.NET Core and Web Frameworks